import Session from './service/Session';
import Api from './service/Api';
import JsBridge from './service/JsBridge';
import UserManager from './component/UserManager';
import ChatManager from './component/ChatManager';
import Message from './component/Message';
import {qunfaPage} from './pages/news_mass';
import {group_member_page} from './pages/group';
import {
  emoImgToRect,
  addFileListener,
  renderFileDiv,
  stringGetFileTitle,
  mixSend,
  formatType,
  forbidEvent,
  allowEvent,
  chatTimeFormat,
  fileType,
  sendTextFmt
} from './common/Function';
import ChoicePage from './pages/news_mass_choice';
import {news_sys_page, num_events} from './pages/news_sys';
import {getImgsFrom, ImgPreLoad} from './common/ImgPreLoad';
import './pages/none';

$(".skip").click(function() {
  window.location.href = 'index.html?burl=' + API.baseUrl;
})

export function showMessages(id, back_btnType) { // back_btnType 为需要返回的页面 num  1: choice页
	 const userInfo = Session.getUser();
   console.log(`userInfo`)
   console.log(userInfo)
  ChatManager.pollMessage();
  window.chatWinId = id; // 记录当前所聊天的对象
  window.fileArr = []; // 清空当前聊天对象的文件发送列表
  if(id==userInfo.User_ID){return layer.msg('您不可以选择自己进行对话', {time: 2000});}else{     //过滤自己对自己的对话
  ChatManager.getMessage(id).then(m => {
    const userInfo = Session.getUser();
    console.log(`m-----------------`)
    console.log(m)
    Message.clearLastTime(); // 清空前一页的最后时间



    if (m) {
      // console.log(m);
      // console.log(333333333333333)
      m.messages.forEach(item => {
        if (item.IsRead != 2) {
//        alert(JSON.stringify(item));
        }
      })
      const tpl = `
              <div class="top">
                  <p>${m.id == '0'
        ? '系统消息'
        : (m.user.UserName || m.user.GroupName)} <span></span></p>
                  <a class="back_btn"><img src="img/news_public/news_sys.png"/>返回</a>
									${m.id < '0'
          ? '<a class="menber">群成员</a>'
          : ''}
              </div>
              <div class="discussion">
              <div class="main discu">
                  <ul class="message-list">

                  </ul>
              </div>
              <div class="cursor_area" ></div>
              <form enctype="multipart/form-data" class="kind_main">
                  <a href="###" class="emoji"><img src="img/news_public/file_1.png"/></a>
                  <label id="files"><img src="img/news_public/file_2.png"/></label>
                  <div class="emoji_div"><ul class="emochoice"></ul></div>
                  <textarea id="editor_id" name="content"></textarea>
                  <a class="send-message" role="button">发送(s)<img src="img/news_public/anliu_1.png"/></a>
                  <ul class="send_way">
											<li><img src="img/news_public/anliu_2.png"/><span>按Enter键发送消息</span></li>
											<li><img src="img/news_public/anliu_3.png"/><span>按Ctrl+Enter键发送消息</span></li>
										</ul>
              </form>
              <div class="file_input_area">将文件拖拽至此</div>
          `;

      $(".right").html(tpl);
      if (m.id < 0) {
        const {User_ID, SessionID, Unit_ID, UserName} = JSON.parse(localStorage.getItem('yxtUser'));
        // console.log(m.user.GroupName)
        Api.get(`/BasePlate/Interface/IInterfaceJson.asmx/GroupUser_GetList`, {User_ID, SessionID, Unit_ID, Group_ID: m.id.slice(1)}).then(resp => {

          if (resp && resp.Goodo && resp.Goodo.R) { // 得到组员信息
            const members = [].concat(resp.Goodo.R);
            if (members.length > 0) {
              $(".right .top").find("span").text('(' + members.length + ')'); // 得到组员数
            }
          }
        })
      }

      $(".right a.back_btn").click(() => {
        switch (back_btnType) {
          case 1:
            ChoicePage.render();
            break;
          default:
            nonePage();
        }
      })

      /* 文件拖拽事件 S */
      		$("body").on("dragover", function (e) {
            // e.preventDefault()
            console.log(9999);
            console.log(e);
            let files = e.originalEvent.dataTransfer.files;
            if (files[0]) {
              $('.file_input_area').css('display', 'block')
            }

      		   // return false;
      		});

      		$('body').on("drop", function(e) {

            $('.file_input_area').css('display', 'none')
      			var files = e.originalEvent.dataTransfer.files;
      			console.log(7777711111111)
      			console.log(e)
      			for (var i = 0, f; f = files[i]; i++) {
      				console.log(f);
      				console.log('-------------------------文件')
      				// Read the File objects in this FileList.
      			}
            e.preventDefault();
      			// return false;
      		});
      /* 文件拖拽事件 E */


      if (m.id < 0) {
        $(".right a.menber").click(() => {
          group_member_page(m.id, m.user.GroupName, id, back_btnType);
        })
      }

      /* 图片预加载处理 S */
      ImgPreLoad(getImgsFrom(m.messages), () => {
        
        setTimeout(function(){       //延时执行函数
           $('.main.discu').scrollTop($('.main.discu')[0].scrollHeight); //延时跳到最底部（图片加载后，高度变化）
        },500)
         clearTimeout();
      })
      /* 图片预加载处理 E */



		Message.dataTransfrom(m).prependTo($(".message-list")); //信息一起加载
      $('.main.discu').scrollTop($('.main.discu')[0].scrollHeight);
      setTimeout(function(){       //延时执行函数
				 $('.main.discu').scrollTop($('.main.discu')[0].scrollHeight); //延时跳到最底部（图片加载后，高度变化）

			},2500)
			 clearTimeout();
			 
			var initTop = 0;
      var i = 1;
      $(".main.discu").scroll(function(){
             var scrollTop = $('.main.discu').scrollTop();    //到滑块头部
             var heigh=      $('.main.discu')[0].scrollHeight;//滑动总高度
             var he=$('.main.discu').height();                 //视图高度
//							console.log(scrollTop)
//							console.log(heigh)
//							console.log(he)
//           if(scrollTop < initTop){
//               var top = document.documentElement.scrollTop + document.body.scrollTop;
//               if(top == 0){
//                      i++;
////                      showMessage(i,'loadold');
//               }
//           }
             if(scrollTop==0){console.log('滑到头部');};
             if(scrollTop+he==heigh){console.log('滑到底部');}
//       initTop = scrollTop;
       });


      let right = document.getElementsByClassName('right')[0];
      // right.addEventListener("paste", function (e){
      //     console.log(e.clipboardData.getData('text/html'));
      //     // if ( !(e.clipboardData && e.clipboardData.items) ) {
      //     //     return ;
      //     // }
      //     //
      //     // for (var i = 0, len = e.clipboardData.items.length; i < len; i++) {
      //     //     var item = e.clipboardData.items[i];
      //     //
      //     //     if (item.kind === "string") {
      //     //         item.getAsString(function (str) {
      //     //             console.log(str)
      //     //         })
      //     //     } else if (item.kind === "file") {
      //     //         var pasteFile = item.getAsFile();
      //     //         console.log(pasteFile);
      //     //     }
      //     // }
      // });

      const {User_ID, SessionID, Unit_ID} = userInfo;
      const mids = m.messages.reduce((acc, curr) => {
        if (curr.IsRead != 2 && curr.Send_ID != User_ID && curr.MsgType != 4) {
          acc.push(curr.Message_ID);
        }
        return acc;
      }, [])

      // 将未读消息置为已读将未读消息置为已读
      Api.post('/BasePlate/Interface/IInterfaceJson.asmx/Message_ReadMulti', {
        User_ID,
        SessionID,
        Unit_ID,
        IsRead: 2,
        MessageIDs: mids.join(',')
      }).then(resp => {
        // 操作成功
        // resp.Goodo.MessageIDs IsRead=>2
        // if (resp.Goodo.MessageIDs) {
          // JsBridge.sendRequest("message.read", { ids: resp.Goodo.MessageIDs.split(',') });
          JsBridge.sendRequest("message.read", {ids: mids, status: 2});
          ChatManager.pollMessage();
        // }
      })

      var K = window.KindEditor;
      window.sendMode = 0; // 发送的模式 0 -> entry发送 1 -> ctrl + endtry发送
      var editor = K.create('#editor_id', {
        width: '1300px',
        newlineTag: 'br',
        //	items:'',
        display: 'block',
        height: '160px',
        resize: 'none',
        outline: 'none',
        paddingLeft: '8px',
        border: '0px #000000 solid',
        margin: '20px 0 0 25px',
        fontSize: '24px',
        lineHeight: '40px',
        color: '#333333',
        cssPath: 'css/do_boly.css',
        allowFileUpload: 'ture',
        resizeType: 1,
        htmlTags: {
          'p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6': [
            'align', 'style'
          ],
          img: [
            'src', 'width'
          ],
          div: [
            'disabled', 'class'
          ],
          p: ['title'],
          br: []
        },
        afterFocus: function() {
          // 隐藏表情选择面板
          $(".emoji_div").find('ul').empty();
          $(".emoji_div").css("display", "none");
          $flag = 1;
        },
        pasteType: 1 //粘贴 没格式
        //		allowPreviewEmoticons : false,
        //		allowImageRemote:true,  网络图片
        //		allowImageUpload : true, 本地图片开启
        //		afterBlur:function(){this.sync(); },  失去焦点 将 kindeditor的值同步给textarea
        //		items : [ 'removeformat', '|', 'image' ]
      });
      //    KindEditor.ready(function(K) {
      //        K.create('#editor_id');
      //    })
      K.sync('#editor_id');
      var main = $('.discussion .main.discu'); ///盒子移动
      var ent = $('.kind_main').find('iframe').contents().find('body');
      var ifra = $('.kind_main').find('iframe');
      $('.cursor_area').mousedown(function(event) {
        $('body').css('user-select', 'none');
        $('.ke-edit-iframe').css('display', 'none');

        var e = event || window.event;
        var a = main.height();

        var b = ent.height()
        $('.discussion').mousemove(function(event) {
          var f = event || window.event;
          //					ent.attr({'display':'none'});
          //					$('.ke-container.ke-container-default').attr({'display':'none'});
          //					$('.ke-edit-iframe').attr({'display':'none'});
          //					K.create('#editor_id',{ display:'none'})
          var sum = a + f.pageY - e.pageY;
          //					var sum_iframe=b+e.pageY-f.pageY;
          var sum_iframe = 838 - sum;
          if (sum_iframe > 150) {
            main.height(sum);
            ent.height(sum_iframe);
            ifra.height(sum_iframe);
            //					ifra.parent().height(sum_iframe);
            ifra.parent().parent().height(sum_iframe);
          }
        });
      })
      $('.discussion').mouseup(function(event) {
        $('.discussion').unbind('mousemove');
        $('.ke-edit-iframe').css('display', 'block');

      });
      ent.mouseup(function(event) {
        $('.discussion').unbind('mousemove');
        ent.attr({'display': 'block'});
        //						ent.unbind('mousemove');
      });


      //添加表情
      $('.main.discu').scrollTop($('.main.discu')[0].scrollHeight);
      var $flag = 1; // 标记
      $(".emoji").click(function(e) { //添加表情
        e.stopPropagation();
        if ($flag) {
          $(".emoji_div").css("display", "block");
          $flag = 0;
          var htmlobj = $.ajax({url: 'js/emoji(0).txt', async: false});
          var temp = htmlobj.responseText;
          var b = JSON.parse(temp); //(对象
          for (var i = 0; i < b.length; i++) { //表情赋值
            $(".emoji_div").find("ul").append('<li class="emochoice"><img class="emochoice" data-id="' + b[i].key + '" src="img/Emoticon/' + b[i].value + '"/></li>');
          }
          $(".emoji_div").find("ul").find("img").click(function(e) { //点击表情图标
            var a = $(this).attr("src");
            //							editor.html(editor.html()+ $(this)[0].outerHTML);
            editor.insertHtml($(this)[0].outerHTML);
            $(".emoji_div").find('ul').empty();;
            $(".emoji_div").css("display", "none");
            $flag = 1;
//          e.stopPropogation();

          }); //双击取消
        } else {
          $(".emoji_div").find('ul').empty();
          $(".emoji_div").css("display", "none");
          $flag = 1;
        }

      });

      // 点击非emoji选择面板隐藏事件
      $(".right").unbind('click');
      $(".right").on('click', function(e) {
        // 遍历点击传递路径，找是否有emoji_div
        try {
          e.path.forEach(item => {
            if (item.className == 'emoji_div') {
              throw new Error(`find emoji_div`)
            }
          })
        } catch (e) {
          $(".emoji_div").find('ul').empty();
          $(".emoji_div").css("display", "none");
          $flag = 1;
        }
        return true;
      })


			//图片文件右键处理
//			$("div.file").bind("contextmenu", function(){
//			    return false;
//			});
//			$("div.file").mousedown(function(e) {
//			    console.log(e.which);
//			    if (3 == e.which) {     //右键为3
////			        $(this).css({ "font-size": "-=2px"});
//			        $(this).append("<div class='right_key'><p><img src='img/news_public/forward.png'/>转发</p><p><img src='img/news_public/save_the_local.png'/>保存到本地</p></div>");
//			    }
//			})
//			$('.right_key').children().eq(0).click(function(e){
//				console.log(e);
//				console.log('-----------------------转发')
//				$(this).prev().css('display','none');
//			})



      // 发送事件处理
      let sendWay = function() {
        editor.sync();
        let files;
        let content = editor.html();
        let arr = stringGetFileTitle(content);
        content = arr[0];
        files = arr[1];
        content = emoImgToRect(content); // 转换emoji图片为 ‘[emoji]’

        if (content.length > 500) { // 若文本长度过长跳出发送
//      if (content.replace(/[\u4e00-\u9fa5]/gm, '***').length > 500) { // 若文本长度过长跳出发送
          return layer.msg('文本长度过长~')
        }
        if (content.length==0) { // 若文本为空跳出发送

          return layer.msg('不能发送空文本~')
        }
        // 生成伪消息发送
        let _msg = ChatManager._genMessage(userInfo, m.user, {content: content, type: '1'});
        console.log(_msg.ClientMessage_ID+'23456777')
        console.log(_msg.isFail)
        ChatManager.processMessages([_msg], false);
        // 通知消息队列刷新 完成UI的发送
        ChatManager.pollMessage();
        editor.html(''); // 清空输入框
        $('.main.discu').scrollTop($('.main.discu')[0].scrollHeight);
        // 开始向服务器请求

//      mixSend(id, m.user.UserName || m.user.GroupName, sendTextFmt(content), files, {
//        up: (percent) => {console.log(`up: ${percent}`)},           //上传百分比
//        down: (percent) => {console.log(`down: ${percent}`)}
//      }).then(resp => {

        mixSend(m.id, m.user.UserName || m.user.GroupName, sendTextFmt(content), files).then(resp => {

          if (resp.length > 0) { // 发送成功
            $(`[data-key="${_msg.ClientCode}-${_msg.ClientMessage_ID}"]`).attr('data-msgid', resp[0].mid) ;// 添加msg-id
             _msg.isFail = false;
          } else { // 发送失败
            // 手动更新本地消息，将之设为fail
       
            _msg.isFail = true;
            ChatManager.processMessages([_msg], false);
          }
          ChatManager.pollMessage();
        })
      }

				var fl=0;
			$(".right .discussion .send-message img").click(function(e){//选择发送方式弹框
			  	e.stopPropagation();
			  	if(fl==0){$(".right .discussion .send_way").css({'display':'block'});fl=1;}
			  	else{$(".right .discussion .send_way").css({'display':'none'});fl=0;}
		  });
			   // 点击非选择面板隐藏事件
      $(".right").unbind('click');
      $(".right").on('click', function(e) {
        // 遍历点击传递路径，找是否有emoji_div
        try {
          e.path.forEach(item => {
            if (item.className == 'send_way') {
              throw new Error(`find send_way`)
            }
          })
        } catch (e) {

          $(".right .discussion .send_way").css({'display':'none'});fl=0;
        }
        return true;
      });
			$(".right .discussion .send_way li").click(function(){//选择发送方式
				$(".right .discussion .send_way").find("img").attr({"src":"img/news_public/anliu_3.png"});
				$(this).find("img").attr({"src":"img/news_public/anliu_2.png"});
				var img_name=$(".right .discussion .send_way li").eq(0).find("img").attr("src");
				if(img_name=="img/news_public/anliu_2.png"){window.sendMode = 0;}else{window.sendMode = 1;}
			})



      // 发送事件绑定
      $(".right .send-message").click(sendWay);

      ent.keydown(function(e) {
        if (e.keyCode == 13 && !e.ctrlKey) {  // entry 事件绑定
          if (window.sendMode) { // sendMode 为 1 是ctrl + entry发送
            // editor.insertHtml('<br/>'); // 在此entry下对文本作回车处理
          } else { // sendMode 为 0 是entry发送
            sendWay()
          }
        }
      })
      K.ctrl(ent[0], 13, function(e) { // ctrl + entry 事件绑定
        if (window.sendMode) { // sendMode 为 1 是ctrl + entry发送
          sendWay()
        } else { // sendMode 为 0 是entry发送
          editor.insertHtml('<br />'); // 在此entry下对文本作回车处理
        }
      });

      // 读取文件事件处理
      addFileListener('#files', data => {
        allowEvent();
        console.log(`-----filesdata`)
        console.log(data)
//      layer.msg(`发送中~`, {time: 0});
        // ChatManager.sendFile(m.id, m.user.UserName || m.user.GroupName, data).then(messageId => {
        //   if (messageId === null) {} else {
        //     ChatManager.pollMessage();
        //   }
        //   layer.closeAll();
        // });
        //
        let filetype = fileType(data.fileName);
        console.log(filetype);
        // if (filetype == 3) { // 发送的图片
        //   mixSend(m.id, m.user.UserName || m.user.GroupName, null, [data.fileName]).then(resp => {
        //     ChatManager.pollMessage();
        //     setTimeout(() => {
        //       $('.main.discu').scrollTop($('.main.discu')[0].scrollHeight);
        //     }, 1000)
        //   })
        // } else {
        let _msg = ChatManager._genMessage(userInfo, m.user, {
          LocalPath: data.filePath,
          needUpload: true,
          MsgUrl: `|${data.fileName}|${data.fileSize}|`,
          type: `${filetype}`
        });
        window._LocalPath = window._LocalPath || {}; // 本地内存存一个对象 key为 ClientCode + ClientMessage_ID
        window._LocalPath[`${_msg.ClientCode}-${_msg.ClientMessage_ID}`] = data.filePath;
        ChatManager.processMessages([_msg], false);
        ChatManager.pollMessage();

        // };




        // let fileArr = window.fileArr;

        // let fileDiv = renderFileDiv(data);

        // editor.insertHtml(fileDiv)  填入富文本

      });

    } else {
      $(".right").html(`
              <img src="img/public/No_content.png"/>
              <p>还没有内容哦</p>
          `);
    }$('.main.discu').scrollTop($('.main.discu')[0].scrollHeight);
  });
	}
}

$(function() {
  const userInfo = Session.getUser();

  // 改变请求地址
  const qarr = window.location.search.slice(1).split('&');
  for (let i = 0; i < qarr.length; i++) {
    const a = qarr[i].split("=");
    if (a[0] === 'burl') {
      API.baseUrl = a[1];
      break;
    }
  }

  // 判断该用户是否拥有群发权限
  Api.get('/BasePlate/Interface/IInterfaceJson.asmx/User_CheckRight', {
    User_ID: userInfo.User_ID,
    Module_ID: '24090',
    URightID: '2',
    SessionID: userInfo.SessionID
  }).then(resp => {
    if (resp.Goodo && resp.Goodo.HasRight == '1') { // 有群发权限
      $('.left .ma').css('display', 'block');
    }
  })
Api.get('/BasePlate/Interface/IInterfaceJson.asmx/CheckOnline2', {
    SessionID: userInfo.SessionID,
    State:2
}).then(function(resp) {
       console.log(resp);
       console.log('登录方式')
});
  // ChatManager.searchMessages("test").then(data => {
  //   console.log(data);
  // });
  //
  // ChatManager.searchUser("李").then(data => {
  //   console.log(data);
  // });

  // Api.get('/BasePlate/Interface/IInterfaceJson.asmx/NumUpdate_GetAllXD', {
  //     User_ID: userInfo.User_ID,
  //     SessionID: userInfo.SessionID
  // }).then(function (resp) {
  //     console.log(resp);
  //
  //      MaxNumUpdateLog_ID = resp.Goodo.MaxNumUpdateLog_ID;
  // });

  /*
//	public void Atte_SpecialEmployeeGetList(int User_ID, String SessionID,String Unit_ID,String Org_ID)

	Api.get('/BasePlate/Interface/IInterfaceJson.asmx/OrgAndUser_GetList', {
        User_ID: userInfo.User_ID,
        SessionID: userInfo.SessionID,
        Unit_ID: userInfo.Unit_ID,
        Org_ID: 0
    }).then(function (resp) {
        console.log(resp);

    });
//	 PublicGroup_GetList(int User_ID, String SessionID,String Unit_ID)
	Api.get('/BasePlate/Interface/IInterfaceJson.asmx/PublicGroup_GetList', {
        User_ID: userInfo.User_ID,
        SessionID: userInfo.SessionID,
        Unit_ID: userInfo.Unit_ID
    }).then(function (resp) {
        console.log(resp);

    });

//	RoleAndUser_GetList(int User_ID, String SessionID,String Unit_ID,String Role_ID)
	Api.get('/BasePlate/Interface/IInterfaceJson.asmx/RoleAndUser_GetList', {
        User_ID: userInfo.User_ID,
        SessionID: userInfo.SessionID,
        Unit_ID: userInfo.Unit_ID,
        Role_ID: 0
    }).then(function (resp) {
        console.log(resp);

    });

//  public void MyGroup_GetList(int User_ID, String SessionID,String Unit_ID)
	Api.get('/BasePlate/Interface/IInterfaceJson.asmx/MyGroup_GetList', {
        User_ID: userInfo.User_ID,
        SessionID: userInfo.SessionID,
        Unit_ID: userInfo.Unit_ID
    }).then(function (resp) {
        console.log(resp);


    });

//  public void GroupUser_GetList(int User_ID, String SessionID,String Unit_ID,String Group_ID)
	Api.get('/BasePlate/Interface/IInterfaceJson.asmx/GroupUser_GetList', {
        User_ID: userInfo.User_ID,
        SessionID: userInfo.SessionID,
        Unit_ID: userInfo.Unit_ID,
        Group_ID: 0
    }).then(function (resp) {
        console.log(resp);

    });

//  public void DiscussGroup_GetList(int User_ID, String SessionID,String Unit_ID)
	Api.get('/BasePlate/Interface/IInterfaceJson.asmx/DiscussGroup_GetList', {
        User_ID: userInfo.User_ID,
        SessionID: userInfo.SessionID,
        Unit_ID: userInfo.Unit_ID
    }).then(function (resp) {
        console.log(resp);

    });

//  public void DiscussGroup_GetListByVipUser(int User_ID, String SessionID,String Unit_ID)
	Api.get('/BasePlate/Interface/IInterfaceJson.asmx/DiscussGroup_GetListByVipUser', {
        User_ID: userInfo.User_ID,
        SessionID: userInfo.SessionID,
        Unit_ID: userInfo.Unit_ID
    }).then(function (resp) {
        console.log(resp);

    });

//  public void User_GetList(int User_ID, String SessionID,String Unit_ID,String Org_ID,boolean IsListChild)
	Api.get('/BasePlate/Interface/IInterfaceJson.asmx/User_GetList', {
        User_ID: userInfo.User_ID,
        SessionID: userInfo.SessionID,
        Unit_ID: userInfo.Unit_ID,
        Org_ID: -2,
        IsListChild: false
    }).then(function (resp) {
        console.log(resp);

    });
*/
//public void CheckOnline2(string SessionID,int State)
//			参数： SessionID  SessionID
//			       State  0:Web登录方式 1:OD登录方式 2:DK登录方式 3:MSG登录方式 4:Mobile登录方式
//			返回： {"IsOnline":"0|1"}
//Api.get('/EduPlate/MSGMail/InterfaceJson.asmx/CheckOnline2', {
//  SessionID: userInfo.SessionID,
//  State:4
//}).then(function(resp) {
//     console.log(resp);
//     console.log('登录方式')
//});
  Api.get('/EduPlate/MSGMail/InterfaceJson.asmx/OuterMailAddr_ListGet', {
    User_ID: userInfo.User_ID,
    SessionID: userInfo.SessionID
  }).then(function(resp) {
    // console.log(resp);
  });

  Api.get('/EduPlate/MSGMail/InterfaceJson.asmx/Receive_ClassifyGetList', {
    User_ID: userInfo.User_ID,
    SessionID: userInfo.SessionID
  }).then(function(resp) {
    // console.log(resp);
  });

  function sortMessage($li) {
    let ts = parseInt($li.data("ts")),
        id = $li.data("id"),
        $target = null;

    $li.siblings("li").each(function() {
      if ($target === null && id != $(this).data("id") && ts > parseInt($(this).data("ts"))) {
        $target = $(this);
        return false;
      }
    });

    if ($target !== null) {
      $li.detach();
      $target.before($li);
    }
  }

  ChatManager.onPoll((data) => {

    const {SysUpdate, MessageUnread, SysMessageUnread, MessageUpdate, MessageStatusUpdate} = data;

    /* 处理右边页面 */
    if (window.chatWinId == 0 && $('div.news_num').length > 0) { // 当前在系统消息页
      /* 系统消息更新 */
      SysUpdate.forEach(item => {
        const isNumType = num_events.indexOf(item.Remind_ID) > -1;
        if (item.Num > 0) { // 有未读消息
          $('a.li_btn').each(function() {
            const taga = $(this);
            if (taga.data('id') == item.Remind_ID) {
              if (taga.find('span.num').length > 0) { // 已有未读红点
                $(taga.find('span.num')[0]).text(item.Num)
              } else { // 没有未读红点
                $('<span class="num"></span>').text(item.Num).appendTo(taga);
              }
              isNumType && taga.find('.main').text(`你有${item.Num}条${item.RemindName} 点击查看详情`);  // 如果此消息为计数型
              return false; // 提早结束jq.each()
            }
          })
          // 将右边第一条系统消息文本赋予左边列表的消息栏
          let ftext = $($('a.li_btn')[0]).find('.main').text();
          $(".chat-messages [data-id=0]").find(".message-text").text(ftext);
        } else { // 没有未读消息
          $('a.li_btn').each(function() {

            const taga = $(this);

            if (taga.data('id') == item.Remind_ID) {
              if (taga.find('span.num').length > 0) { // 已有未读红点
                $(taga.find('span.num')[0]).remove() // 删除此红点
              }
              isNumType && taga.find('.main').text('暂无消息'); // 如果此消息为计数型
              return false; // 提早结束jq.each()
            }
          })
        }
      })

    }

    /* 消息的状态更新 */
    MessageStatusUpdate.forEach(item => {
      const dom = $(`.right [data-msgid=${item.Message_ID}]`);
      if (dom.length > 0) { // 当前右边能找到相应的dom
        // 在此对dom作处理
        if (item.IsRead == 1) { // 状态变为已送达
          // 相应已送达处理
          dom.find('.prompt').text('已送达');
        } else if (item.IsRead == 2) { // 状态变更为已读
          // 相应已读处理
//        dom.find('.prompt').removeClass('weidu');
          dom.find(".prompt").addClass("yidu");
          dom.find(".dian").remove();
          dom.find('.prompt').text('已读');
        }
      }
    })



    /* 处理左边页面 */
    let total = MessageUnread + SysMessageUnread;
    if (total > 0) { // 有未读就展示
      $(".footer").find("ul").find("a").eq(2).find("span").text(total).css('display', 'block');
    } else { // 没有就隐藏
      $(".footer").find("ul").find("a").eq(2).find("span").text(total).css('display', 'none');
    }

    $("li.chat-user").each(function() {
      const tagli = $(this);

      if (tagli.data('id') == 0) { // 找到系统消息
        if (SysMessageUnread > 0) { // 有系统未读消息
          if (tagli.find('span.sum').length > 0) {
            tagli.find('span.sum').text(SysMessageUnread).css('display', 'block');
          } else {
            $('<span class="sum"></span>').text(SysMessageUnread).css('display', 'block').appendTo(tagli.find('a')[0]);
          }
        } else {
          if (tagli.find('span.sum').length > 0) {
            tagli.find('span.sum').text("0").css('display', 'none');

          }
          tagli.find('.text').text('暂无消息');
        }
        return false; // 提早结束jq.each()
      }
    })
    // 给左边面板的消息列表中非系统消息添加红点
    // alert(JSON.stringify(MessageUpdate));
    // alert(JSON.stringify(MessageUpdate));
    MessageUpdate.forEach(item => {

      if (item.Num > 0) { // 有未读消息
        $('li.chat-user').each(function() {
          const tagli = $(this);
          if (tagli.data('id') == item.Send_ID && tagli.data('id') != 0) {
            if (tagli.find('span.sum').length > 0) { // 已有未读红点
              $(tagli.find('span.sum')[0]).text(item.Num).css('display', 'block');
              if(tagli.data('id') == userInfo.User_ID){ $(tagli.find('span.sum')[0]).text(0).css('display', 'none');}//过滤自己对自己发的
            } else { // 没有未读红点
              $('<span class="sum"></span>').text(item.Num).css('display', 'block').appendTo(tagli.find('a')[0]);
            }
            return false; // 提早结束jq.each()
          }
        })
      } else { // 没有未读消息
        $('li.chat-user').each(function() {
          const tagli = $(this);
          if (tagli.data('id') == item.Send_ID && tagli.data('id') != 0) {
            if (tagli.find('span.sum').length > 0) { // 已有未读红点
              $(tagli.find('span.sum')[0]).remove() // 删除此红点
            }
            return false; // 提早结束jq.each()
          }
        })
      }
    })
  });

  ChatManager.onMessageRemove((m, messages) => {
    let $c = $(".chat-messages");

    let $li = $c.find(`[data-id=${m.id}]`);
    $li.remove();
  });

  // alert('jsbridge');
  // JsBridge.sendRequest('task', {abc: 'test'});
  ChatManager.onMessage((m, messages) => {

    // console.log(`message---------------------------`);
    // console.log(messages);

//  if (m.id == userInfo.User_ID) {   //过滤自己对自己发的
//    return ;
//  }

    if (m.id == window.chatWinId && $('ul.message-list').length > 0) { //当前在对应人的聊天窗口
      // 渲染刚来的消息
      // console.log(`--------new-msg`)
      // console.log(m)
      const msg = m.message;
      console.log(`-------------msg--`)
      console.log(msg)
      const theMsg = $('ul.message-list').find(`[data-key="${msg.ClientCode}-${msg.ClientMessage_ID}"]`);
      if (theMsg.length > 0) { // 如果找得到，代表是更新消息dom
      	console.log(theMsg.length)
      	console.log('sfgxxx')
        if (msg.isFail) { // 发送失败
          // 在此添加感叹号
          theMsg.find('span.prompt').html('<img src="img/news_public/fail.png" />');
//         theMsg.find('div.text').html(msg.MsgContent);
        }
        if (msg.needUpload) { // 消息是文件消息需要上传
          mixSend(m.id, m.user.UserName || m.user.GroupName, null, [msg.MsgUrl.split('|')[1]], {

            up: (percent) => {

              theMsg.find('.progress').css('display','block ');
              theMsg.find('.finish').css('display','none ');
              let per = parseInt(percent*10000/100);
              theMsg.find(".sr-only").text(`(${per}%)`);
              theMsg.find('progress-bar').width(`(${per}%)`);
              if(percent==1){
                theMsg.find('.progress').css("display","none ");
                theMsg.find('.finish').css("display","block ");
              }

            },
            down: (percent) => {}
          }).then(resp => {
            if (resp.length > 0) { // 发送成功
              // 不作处理等远程服务器数据更新本地
                theMsg.find('.progress').css("display","none !important");
                theMsg.find('.finish').css("display","block !important");
                msg.isFail = false;
            } else { // 发送失败
              // 手动更新本地消息，将之设为fail
              msg.isFail = true;
              // ChatManager.processMessages([_msg], false);
            }
            msg.needUpload = false;
            ChatManager.processMessages([msg], false);
          })
        } else if (msg.MsgType == 3) { // 是图片消息且已经上传至服务器
          // 改变加载状态
          if (msg.MsgUrl.split('|')[0]) {
            theMsg.find('.my-img').attr('src', `${API.baseUrl}Upload/${msg.MsgUrl.split('|')[0]}`);
          }
        }

      } else { // 找不到，代表是新消息
        Message.dataTransfrom(m, true).appendTo($(".message-list"));
        const {User_ID, SessionID, Unit_ID} = userInfo;
   		  const mids = m.messages.reduce((acc, curr) => {
          if (curr.IsRead != 2 && curr.Send_ID != User_ID && curr.MsgType != 4) {
            acc.push(curr.Message_ID);
          }
          return acc;
        }, [])

        if (mids.length > 0) {
          // 将未读消息置为已读将未读消息置为已读
          Api.post('/BasePlate/Interface/IInterfaceJson.asmx/Message_ReadMulti', {
            User_ID,
            SessionID,
            Unit_ID,
            IsRead: 2,
            MessageIDs: mids.join(',')
          }).then(resp => {
              JsBridge.sendRequest("message.read", {ids: mids, status: 2});
              ChatManager.pollMessage();

          })
        }


        $('.main.discu').scrollTop($('.main.discu')[0].scrollHeight);
        if (msg.needUpload) { // 消息是文件消息需要上传
          const theMsg = $('ul.message-list').find(`[data-key="${msg.ClientCode}-${msg.ClientMessage_ID}"]`);
          mixSend(m.id, m.user.UserName || m.user.GroupName, null, [msg.MsgUrl.split('|')[1]], {

            up: (percent) => {

              theMsg.find('.progress').css('display','block ');
              theMsg.find('.finish').css('display','none ');

              let per = parseInt(percent*10000/100);
              theMsg.find(".sr-only").text(`(${per}%)`);
              theMsg.find('progress-bar').width(`(${per}%)`);
              if(percent==1){
//	 								dom.find('.progress').css({"display":"none !important"});
//	          			dom.find('.finish').css({"display":"block !important"});
                theMsg.find('.progress').css("display","none ");
                theMsg.find('.finish').css("display","block ");
              }

            },
            down: (percent) => {}
          }).then(resp => {
            if (resp.length > 0) { // 发送成功
              // 不作处理等远程服务器数据更新本地
                theMsg.find('.progress').css("display","none !important");
                theMsg.find('.finish').css("display","block !important");
                msg.isFail = false;
            } else { // 发送失败
              // 手动更新本地消息，将之设为fail
              msg.isFail = true;
              // ChatManager.processMessages([_msg], false);
            }
            msg.needUpload = false;
            ChatManager.processMessages([msg], false);
          })
        } else if (msg.MsgType == 3) { // 是图片消息且已经上传至服务器
          // 改变加载状态
          if (msg.MsgUrl.split('|')[0]) {
            theMsg.find('.my-img').attr('src', `${API.baseUrl}Upload/${msg.MsgUrl.split('|')[0]}`);
          }
        }
      }
    }

    let $c = $(".chat-messages"),
      item = m;

    // messages.forEach(item => {
    if (!item.user || !item.message)
      return;

    let $li = $c.find(`[data-id=${item.id}]`);
    var a = item.messages.length;
    // var b = item.message.UnReadNum;

    // c时间转换
    let time = moment(item.date, 'YYYY/MM/DD HH:mm:ss');
    time = chatTimeFormat(time, moment(), true);
    if ($li.length > 0) {
      // console.log(`--------------item`);
      // console.log(item);

      $li.data("ts", m.ts);
      $li.find(".message-date").html(time);
      $li.find(".message-text").html(formatType(item.message.MsgType, item.message.MsgContent));
//console.log(item.id)
//console.log('sdsdsdsdssddsd')
      $li.find(".message-name").html(
        item.id == 0
        ? `系统消息<span class="message-date">${item.date}</span>`
        : `<span class="name">${ (item.user.UserName || item.user.GroupName)}</span><span class="message-date">${time}</span>`);
      // if (b > 0) {
      //   $li.find(".sum").html(b).css('display', 'block');
      // } else {
      //   $li.find(".sum").css('display', 'none');
      // }
      // $li.detach().prependTo($c);
    } else {
//  	console.log('ddddddddddddddddddd')
//  	console.log(item)
      // c时间转换
      if (item.id < 0) {
        $li = $(
          `<li data-id="${item.id}" data-ts="${item.ts}" class="chat-user"><a href="#">
	                    <img src="img/news_public/group.png"/>
	                    <p class="message-name"><span class="name">${item.id == 0
          ? '系统消息'
          : (item.user.UserName || item.user.GroupName)}</span><span class="message-date">${time}</span></p>
	                    <div class="text message-text">${formatType(item.message.MsgType, item.message.MsgContent)}</div>
	                </a></li>`);
      } else {
        $li = $(
          `<li data-id="${item.id}" data-ts="${item.ts}" class="chat-user"><a href="#">
	                    <img src="${item.id == 0
          ? 'img/news_public/user_1.png'
          : item.user.HeadPic
            ? Api.imageUrl(item.user.HeadPic)
            : 'img/news_public/user_6.png'}"/>
	                    <p class="message-name"><span class="name">${item.id == 0
              ? '系统消息'
              : (item.user.UserName || item.user.GroupName)}</span><span class="message-date">${time}</span></p>
	                    <div class="text message-text">${formatType(item.message.MsgType, item.message.MsgContent)}</div>
	                </a></li>`);
      }

      // if (b > 0 && $li.data('id') != 0) {
      //   $li.find(".sum").html(b).css('display', 'block');
      // } else {
      //   $li.find(".sum").css('display', 'none');
      // }

      $li.appendTo($c);

    }
    sortMessage($li);
    // });
    //      $('.main.discu').scrollTop( $('.main.discu')[0].scrollHeight);
    // footer_sum();
  });

  ChatManager.onSysMessage((m, messages) => {
    if (m.message.IsShow != '1') { // 过滤不显示的
      return ;
    }
    let dataArr = ChatManager.getAllSysMessage();
    dataArr.sort(function(a, b) {
      if (a.ts > b.ts) { // 新消息排在前面
        return -1;
      }
      if (a.ts < b.ts) {
        return 1;
      }
      return 0;
    })
    let first_sys;
    try {
      dataArr.forEach(item => {
        if (item.message.IsShow != 0) {
          first_sys = item;
          throw Error(`退出`)
        }
      })
    } catch (e) {

    }

    let $c = $(".chat-messages");
    let $li = $c.find(`[data-id=0]`);
    let time = moment(first_sys.date, 'YYYY/MM/DD HH:mm:ss');
    time = chatTimeFormat(time, moment(), true);
    if ($li.length > 0) {
      $li.data("ts", first_sys.ts);
      $li.find(".message-date").html(time);
      $li.find(".message-text").html(first_sys.message.MsgContent);

      $li.detach().prependTo($c);
    } else {
      $li = $(`<li data-id="0" data-ts="${first_sys.ts}" class="chat-user"><a href="#">
                    <img src="img/news_public/user_1.png"/>
                    <p>系统消息<span class="message-date">${time}</span></p>
                    <div class="text message-text">${first_sys.message.MsgContent}</div>
                </a></li>`);

      $li.prependTo($c);

    }
    sortMessage($li);
    // footer_sum()
  });


  /* 客户端有文件下载 */
  JsBridge.on((data) => {
    if (data && data.type == "fileProgress") {
      // data.messageId, data.percent
      const theMsg = $(`[data-msgid=${data.messageId}]`);
      theMsg.find('.progress').css('display','block');
      theMsg.find('.finish').css('display','none');
      theMsg.find(".sr-only").text(`(${data.percent}%)`);
      theMsg.find('progress-bar').width(`(${data.percent}%)`);
    } else if (data && data.type == "fileComplete") {
      // data.path
      alert("complete " + (data.success ? "success" : "failed"));
    }
  });


  JsBridge.getConfig(userInfo.User_ID).then(config => {
      ChatManager.MaxMessage_ID = parseInt(config.MaxMessage_ID);
      ChatManager.ClientCode = config.ClientCode;
      ChatManager.ClientMessage_ID = parseInt(config.ClientMessage_ID) + 1;

      JsBridge.sendRequest("message.fetch", { LoginID: userInfo.User_ID }).then(resp => {

        ChatManager.processMessages(resp.data.messages, false);
        ChatManager.processMessages(resp.data.sysMessages, false);

        let messageUpdate = ChatManager.getMessageUpdate();

        // if (!messageUpdate) {
        //   layer.msg("正在同步消息", {time: 0});
        // }

        setInterval(() => {
          if (ChatManager.getMessageUpdate()) {
            if (!messageUpdate) {
              // layer.closeAll();
              messageUpdate = true;
              // 同步完成
              // 查看最近一条未读消息
              setTimeout(() => {
                $('.left li.chat-user').each(function(){
                  const tagli = $(this);
                  if (tagli.find(".sum").css('display') == 'block'&&tagli.data('id')!=userInfo.User_ID) { // 未读数不唯一就打开此消息    过滤自己对自己发的
                    const id = tagli.data('id');
                    if (id == '0') {
                      news_sys_page();
                    } else {
                      tagli.find(".sum").css('display', 'none');
                      tagli.find(".sum").text(0);
                      showMessages(id);
                    }
                    tagli.css({'background': '#ffffff'});
                    tagli.css({'background': '#f0f0f1'});
                    return false;
                  }
                })
              }, 300)  // 确保当前已有li加上了红点气泡
            }

            let ts = ChatManager.getLastPoll(),
              now = new Date();
            if (!ts || ts.getTime() < now.getTime() - 3000) {
              ChatManager.pollMessage();
            }
          } else {
            ChatManager.pollMessage();
          }
        }, 200);
    });

  });

  $(".left").on("click", "li.chat-user", function() { //点击消息
    const id = $(this).data('id');
	  if ( id == userInfo.User_ID ){
      return layer.msg('您不可以选择自己进行对话', {time: 2000});
    } else {
	    if (id == '0') {
	      news_sys_page();
	    } else {
	      showMessages(id);
	      $(this).find(".sum").css('display', 'none');
	      $(this).find(".sum").text(0);
	    };
	    $("li.chat-user").css({'background': '#ffffff'});
	    $(this).css({'background': '#f0f0f1'});
		}
    // footer_sum()
    return false;
  });

  $(".left .ma").click(function() {
    qunfaPage();
    return false;
  })
  search_div();

  $(".left .choice-btn").click(function() {
    ChoicePage.render();
    return false;
  })

});

// function footer_sum() {
//   const obj = $("li.chat-user").find(".sum");
//   var a = 0;
//   for (var i = 0; i < obj.length; i++) {
//     a = a + Number($("li.chat-user").find(".sum").eq(i).text());
//   }
//
//   $(".footer").find("ul").find("a").eq(2).find("span").text(a);
// }
//$.fn.extend({'aa':function(){}})或jQuery.fn.aa=function(){},这种调用时就得这样,$("#**").aa()

export function search_div() {
  const serachInput = $(".search").find("input#sear");

  // 搜索结果事件绑定
  $('.con').on('click', 'dd a', function() {    // 消息点击绑定
    const id = $(this).data('id');
    if (id == '0') {
      news_sys_page();
    } else {
      showMessages(id)
    }
    // 将搜索存入历史
    JsBridge.sendRequest("custom.get", {key: 'searHistory'})
    .then(data => {
      let history = data.data.value;
      if (!history) {
        history = `{"data": []}`;
      };
      history = JSON.parse(history).data;
       if(!serachInput.val()){return ;}
      let index = history.indexOf(serachInput.val());
      if (index > -1) { // 去除记录中已有的重复值
        history.splice(index, 1);
      }
      history.unshift(serachInput.val()); // 推入此次搜索值
      JsBridge.sendRequest("custom.set", {key: 'searHistory', value: JSON.stringify({data: history})})
      serachInput.val('') // 清空搜索
      $(".sear, .sear .history, .sear .resultBox").css('display', 'none'); // 隐藏搜索相关组件
      showLeft() // 隐藏左边的消息列表
      serachInput.parent().find(".flag").css({'left': '43%'});
      serachInput.parent().find("span").css({'display': 'block'});
    })

  });
  $('.name_list').on('click', 'dd', function() { // 人物点击绑定
    const id = $(this).data('id');
    if (id == '0') {
      news_sys_page();
    } else {
      showMessages(id)
    }
    // 将搜索存入历史
    JsBridge.sendRequest("custom.get", {key: 'searHistory'})
    .then(data => {
      let history = data.data.value;
      if (!history) {
        history = `{"data": []}`;
      };
      history = JSON.parse(history).data;
     if(!serachInput.val()){return ;}
      let index = history.indexOf(serachInput.val());
      if (index > -1) { // 去除记录中已有的重复值
        history.splice(index, 1);
      }
      history.unshift(serachInput.val()); // 推入此次搜索值
      JsBridge.sendRequest("custom.set", {key: 'searHistory', value: JSON.stringify({data: history})})
      serachInput.val('') // 清空搜索
      $(".sear, .sear .history, .sear .resultBox").css('display', 'none'); // 隐藏搜索相关组件
      showLeft() // 隐藏左边的消息列表
      serachInput.parent().find(".flag").css({'left': '43%'});
      serachInput.parent().find("span").css({'display': 'block'});
    })

  });

  $('dl.history').on('click', 'dd p', function() { // 历史记录点击
    const val = $(this).text();
    serachInput.val(val);
    serachInput.trigger('input');
    serachInput.trigger('propertychange');
  });

  $('dl.history').on('click', 'dd img', function() { // 历史记录删除点击
    const parent = $(this).parent();
    const val = $(this).data('text');
    JsBridge.sendRequest("custom.get", {key: 'searHistory'})
    .then(data => {
      let history = data.data.value;
      history = JSON.parse(history).data;
      history.splice(history.indexOf(`${val}`), 1); // 找到并删除
      JsBridge.sendRequest("custom.set", {key: 'searHistory', value: JSON.stringify({data: history})}) // 更新本地
      parent.remove(); // 删除dom;
    })
  });

  // 点击非sear面板隐藏事件
  // $(".left").unbind('click');
  $(".left").on('click', function(e) {
    // 遍历点击传递路径，找是否有sear
    if ($(e.target).parents('.sear').length < 1) {
      $(".sear, .sear .history, .sear .resultBox").css('display', 'none'); // 隐藏搜索相关组件
      showLeft() // 隐藏左边的消息列表
      serachInput.parent().find(".flag").css({'left': '43%'});
      serachInput.parent().find("span").css({'display': 'block'});
      serachInput.val('');
    }

    return true;
  })


  let hidLeft = function() {
    $('.chat-messages, .footer').css({'display': 'none'});
  }

  let showLeft = function() {
    $('.chat-messages, .footer').css({'display': 'block'});
  }

  serachInput.click(function(e){
    e.stopPropagation();
    return true;
  })

  serachInput.focus(function() { // 点击搜索

    // 读取搜索历史 并加载到历史
    JsBridge.sendRequest("custom.get", {key: 'searHistory'})
    .then(data => {
      let history = data.data.value;
      if (!history) {
        history = `{"data": []}`;
      };
      history = JSON.parse(history).data;
      console.log(history)
      let tpl;
      if (history.length > 0) { // 有数据
        tpl = `
          <dt>搜索历史</dt>
          ${history.map(item => {
            return `<dd><p>${item}</p><img data-text="${item}" src="img/news_public/chuo.png"/></dd>`
          }).join('')}
        `
      } else {
        tpl = `
          <dt>搜索历史</dt>
          <dd><p>暂无搜索历史</p></dd>
        `
      }

      $('.left dl.history').html(tpl);

    })

    // console.log($(this));
    const input = $(this);
    input.parent().find(".flag").css({'left': '2%'});
    input.parent().find("span").css({'display': 'none'});

    if (!input.val()) {
      $(".sear .history").css('display', 'block');
    }
    $(".sear").css('display', 'block'); // 展示搜索
    hidLeft() // 隐藏左边的消息列表
  });


  // 当搜索值发生改变
  serachInput.bind("input propertychange",function(event){

      const input = $(this);
      const inputVal = input.val();
      const history = $(".sear .history");
      const resultBox = $(".sear .resultBox");

      $('.con').html(''); // 清空上次的搜索
      $('.name_list').html(''); // 清空上次的搜索

      if (!inputVal) { // 为空值时
        history.css('display') == 'none' &&  history.css('display', 'block'); // 展示搜索历史
        resultBox.css('display') == 'block' &&  resultBox.css('display', 'none'); // 展示搜索历史
      } else { // 非空值时
        // 搜索消息
        ChatManager.searchMessages(inputVal).then(data => {
          if(data.length > 0) {
            // 生成消息模板
            const tpl = `
              <dt>聊天记录</dt>
              ${data.map(item => {
                const {user, Send_ID, MsgContent} = item;
                let uid = user.User_ID ? user.User_ID : -user.Group_ID;
                let uname = user.UserName ? user.UserName : user.GroupName;
                return `
                <dd><a data-id="${Send_ID == 0 ? 0 : uid }">
                <img src="${Send_ID == 0
                  ? 'img/news_public/user_1.png'
                  : user.HeadPic
                    ? Api.imageUrl(user.HeadPic)
                    : user.UserName ? 'img/news_public/user_6.png' : 'img/news_public/group.png'}"/>
                  <p>${Send_ID == 0 ? '系统消息' : uname}</p>
                  <div class="text">${MsgContent.replace(new RegExp(inputVal, 'g'), '<span>' + inputVal + '</span>')}</div>
                </a></dd>
                `
              }).join('')}
            `;
            // 进行渲染
            $('.con').html(tpl);
          } else {
            $('.con').html(`<dt>聊天记录</dt><dd class="no_re" style="text-align: center">未搜索到相应结果</dd>`);
          }
        });

        // 搜索人物
        ChatManager.searchUser(inputVal).then(data => {
          if (data.length > 0) {
            // 生成人物模板
            const tpl = `
              <dt>联系人</dt>
              ${data.map(item => {
                const {User_ID, HeadPic, UserName} = item;
                let uid = User_ID ? User_ID : -item.Group_ID;
                let uname = UserName ? UserName : item.GroupName;
                return `
                  <dd data-id="${uid}">
                    <img src="${User_ID == 0
                      ? 'img/news_public/user_1.png'
                      : HeadPic
                        ? Api.imageUrl(HeadPic)
                        : UserName ? 'img/news_public/user_6.png' : 'img/news_public/group.png'}"/>
                    <p>${uname.replace(new RegExp(inputVal, 'g'), '<span>' + inputVal + '</span>')}</p>
                  </dd>
                `
              }).join('')}
            `;
            // 进行渲染
            $('.name_list').html(tpl);
          } else {
            $('.name_list').html(`<dt>联系人</dt><dd class="no_re" style="text-align: center">未搜索到相应结果</dd>`);
          }
        });


        history.css('display') == 'block' && history.css('display', 'none'); // 隐藏搜索历史
        resultBox.css('display') == 'none' && resultBox.css('display', 'block'); // 展示搜索结构

      }
  });


}
